It is now common for electronic colour cameras to have an image sensor comprising a matrix of individual pixel sensors where each pixel sensor has a colour filter in front of it so that different sensors respond to different colour components. Typically red, green and blue filters are used, although other filter colours have been proposed. Often the green pixels are more numerous than either the red or blue pixels so that the spatial sampling frequency is highest for the green component. A well-known arrangement is the “Bayer Mask” pattern of red green and blue pixels in which half of the total number of pixels have green filters, one quarter have red filters and one quarter have blue filters. This pattern is shown in FIG. 1.
Although spatial sub-sampling of colour components is not unusual in image processing, it is highly inconvenient if the samples from the respective colour components are not co-sited; and, many processes require a value for every component of every pixel in the image. There is therefore a need to spatially interpolate the colour component images from cameras using Bayer Mask, or similar, sensor patterns to obtain co-sited, fully-sampled pixel values.
Many solutions to this problem have been proposed including simple, bilinear interpolation of individual colour components and complex, adaptive filtering schemes. The simpler systems suffer from lack of image sharpness or aliassing, and even complex systems can suffer from “false colour” effects when objects have structures or textures similar to the colour filter pattern of the camera.